package org.bgstudio.sgs.impl.querydata;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.bgstudio.sgs.querydata.QueryListener;
import org.bgstudio.sgs.querydata.QueryManager;
import org.bgstudio.sgs.querydata.StatementListener;

public class QueryManagerImpl implements QueryManager{
	  private final QueryManager backingComponent;

	    /**
	     * Creates an instance of {@code MyManagerImpl}.
	     *
	     * @param backingComponent the backing implementation
	     */
	    public QueryManagerImpl(QueryManager backingComponent) {
	        this.backingComponent = backingComponent;
	    }

		@Override
		public ResultSet executeQuery(String sql)  {
			return backingComponent.executeQuery(sql);
		}



		@Override
		public int executeUpdate(String sql)  {
			return backingComponent.executeUpdate(sql);
		}



		@Override
		public ResultSet executeQuery(String sql, int resultSetType) {
			
			return backingComponent.executeQuery(sql, resultSetType);
		}

		@Override
		public ResultSet executeQuery(String sql, int resultSetType,
				int resultSetConcurrency) {
			
			return backingComponent.executeQuery(sql, resultSetType, resultSetConcurrency);
		}

		@Override
		public int executeStatement(PreparedStatement stmt) {
			
			return backingComponent.executeStatement(stmt);
		}

		@Override
		public DatabaseMetaData getMetaData() {
			return backingComponent.getMetaData();
		}

		@Override
		public PreparedStatement getPrestmt(String sql) {
			return backingComponent.getPrestmt(sql);
		}

		@Override
		public void notifyQuery(String sql, QueryListener listener) {
			backingComponent.notifyQuery(sql, listener);
			
		}

		@Override
		public void notifyQuery(String sql, int resultSetType,
				QueryListener listener) {
			backingComponent.notifyQuery(sql, resultSetType, listener);
			
		}

		@Override
		public void notifyQuery(String sql, int resultSetType,
				int resultSetConcurrency, QueryListener listener) {
			backingComponent.notifyQuery(sql, resultSetType, resultSetConcurrency, listener);
			
		}

		@Override
		public void notifyStatement(PreparedStatement stmt,
				StatementListener listener,int ID) {
			backingComponent.notifyStatement(stmt, listener,ID);
			
		}

		@Override
		public void notifyUpdate(String sql, QueryListener listener) {
			backingComponent.notifyUpdate(sql, listener);
			
		}

		@Override
		public boolean SharedConnValid() {
			return backingComponent.SharedConnValid();
		
		}

		@Override
		public CallableStatement getPrecall(String sql) {
			return backingComponent.getPrecall(sql);
			
		}

		@Override
		public Connection getSharedConn() {
			return backingComponent.getSharedConn();
			
		}

}
